package com.cui.project.model.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 流量预测可视化视图对象
 * 用于前端图表展示
 *
 * @author cui
 */
@Data

public class TrafficForecastVo implements Serializable {


    /**
     * 接口ID
     */
    private Long interfaceInfoId;

    /**
     * 接口名称
     */
    private String interfaceName;

    /**
     * 时间点（横坐标）
     */
    private Date timestamp;

    /**
     * 格式化时间字符串（yyyy-MM-dd HH:mm）
     */
    private String timeLabel;


    /**
     * 实际请求量（历史数据）
     */
    private Integer actualRequestCount;


    /**
     * 预测请求量（预测数据）
     */
    private Integer predictedRequestCount;

    /**
     * 置信区间下界
     */
    private Integer confidenceLower;

    /**
     * 置信区间上界
     */
    private Integer confidenceUpper;

    /**
     * 数据类型：historical（历史）/ forecast（预测）
     */
    private String dataType;

    /**
     * 预测模型类型（ARIMA/Prophet/LSTM等）
     */
    private String modelType;

    /**
     * 模型版本
     */
    private String modelVersion;

    /**
     * 模型准确度评分
     */
    private BigDecimal accuracyScore;

    /**
     * 成功率
     */
    private Double successRate;

    /**
     * 平均延迟（毫秒）
     */
    private Integer avgLatency;


    private static final long serialVersionUID = 1L;
}
